package com.openlogic.common.plugins.spi.datasource;

import com.openlogic.common.plugins.spi.plugin.PrioritySPI;
import com.openlogic.common.plugins.spi.plugin.SPIIdentify;

/**
* @ClassName: DataSourceChannelFactory
* @Description: 数据源连接信道工厂
* @author weiyongpeng
* @date 2024年11月15日 下午3:15:31
 */
public interface DataSourceChannelFactory extends PrioritySPI {

	/**
	* 描述：创建数据源连接信道
	* @Title: create
	* @return
	* @author weiyongpeng
	* @date  2024年11月15日 下午3:17:06
	 */
	DataSourceChannel create();
	
	/**
	* 描述：默认获取注册组件的BeanName作为插件名称
	* @Title: getName
	* @return
	* @author weiyongpeng
	* @date  2024年11月16日 上午8:25:44
	 */
    String getName();

    @Override
    default SPIIdentify getIdentify() {
    	SPIIdentify spiIdentify = new SPIIdentify();
    	spiIdentify.setName(getName());
        return spiIdentify;
    }
}
